package dawi.fcs.servicio.generico;

import java.util.HashMap;
import java.util.List;

import dawi.fcs.dominio.generico.GenericoBean;

public interface GenericoDao {
	public void registrar(GenericoBean bean);

	public void ejecutarRegistro(GenericoBean bean,String query);
	
	public void actualizar(GenericoBean bean);

	public void eliminar(GenericoBean pk);

	public GenericoBean obtenerPorId(GenericoBean pk);
	
	public GenericoBean obtenerPorId(String nombreQuery, GenericoBean bean);
	
	public List<GenericoBean> listarTodos();

	public List<GenericoBean> listarPorEjemplo(GenericoBean bean);

	public GenericoBean ejecutarPorQuery(String nombreQuery, GenericoBean bean);
	
	@SuppressWarnings("rawtypes")
	public HashMap ejecutarPorQuery(String nombreQuery, HashMap map);
	
	public List<GenericoBean> listarPorQuery(String nombreQuery);
	
	public List<GenericoBean> listarPorQuery(String nombreQuery, GenericoBean bean);
	
	@SuppressWarnings("rawtypes")
	public List<GenericoBean> listarPorQuery(String nombreQuery, HashMap map);

	public Integer contar(String nombreQuery, GenericoBean bean);
	
	@SuppressWarnings("rawtypes")
	public Integer contar(String nombreQuery, HashMap map);
	
	public Object obtenerValor(String nombreQuery, HashMap map);
}
